[ Mega Script
Archive ] [ Frequently
Asked Questions ] [ Guestbook
]
##############################################################################
# Guestbook Version 2.3.1 #
# Copyright 1996 Matt Wright mattw@worldwidemart.com #
# Created 4/21/95 Last Modified 10/29/95 #
# Scripts Archive at: http://www.worldwidemart.com/scripts/ #
##############################################################################
# If you run into any problems while trying to configure this scripts, help #
# is available. The steps you should take to get the fastest results, are: #
# 1) Read this file thoroughly #
# 2) Consult the Matt's Script Archive Frequently Asked Questions: #
# http://www.worldwidemart.com/scripts/faq/ #
# 3) If you are still having difficulty installing this script, send #
# e-mail to: scripts-help@tahoenet.com #
# Include any error messages you are receiving and as much detail #
# as you can so we can spot your problem. Also include the variable#
# configuration block that is located at the top of the script. #
# #
# Hopefully we will be able to help you solve your problems. Thank you. #
##############################################################################
# COPYRIGHT NOTICE #
# Copyright 1996 Matthew M. Wright All Rights Reserved. #
# #
# Guestbook may be used and modified free of charge by anyone so long as #
# this copyright notice and the comments above remain intact. By using this #
# code you agree to indemnify Matthew M. Wright from any liability that #
# might arise from it's use. #
# #
# Selling the code for this program without prior written consent is #
# expressly forbidden. In other words, please ask first before you try and #
# make money off of my program. #
# #
# Obtain permission before redistributing this software over the Internet or #
# in any other medium. In all cases copyright and header must remain intact.#
##############################################################################
There are five files included in the Guestbook
package. Below is a brief summary of them:
- README - This file.
- guestbook.pl - The Perl Script.
- guestbook.html - The actual guestbook file.
- addguest.html - The fill-out form for a
guestbook entry.
- guestlog.html - A short log of those who have
added.
- This is the Perl script that actually writes new
entries to files and returns the entry to the
user. This file will need to be placed in the
cgi-bin of your server and chmoded to a+rx. There
are a few things that need to be changed in this
file:
- $guestbookurl
- The url address of your
guestbook.html file.
- $guestbookreal
- The system location of your
guestbook.html file.
- $guestlog
- The system location of your
guestlog.html file.
- $cgiurl
- The url portion of the address to the
guestbook.pl file The file
guestbook.pl needs to be placed in
your server's cgi-bin and chmoded
read/execute for users of your httpd.
(chmod a+rx)
There are now several options that you
have to decide whether or not to use. Below
is a brief description of what each one does.
While choosing what options you want to have
on keep in mind that a '1' will turn them on
and a '0' will turn them off.
- $mail
- This option will allow you to be
notified via an E-Mail address when a
new entry arrives in your guestbook.
The entry will be mailed to you as a
notification. If you should choose to
turn this variable on you will need
to fill in the 2 variables that go
along with it:
- $recipient
- Your E-Mail address, so that
the mailing program will know
who to mail the entry to.
- $mailprog
- The location of your sendmail
program on your host machine.
- $uselog
- This will allow you the ability to
use my short log feature. It is
already turned on so you will have to
change it to 0 if you do not wish to
use it. I have implemented this
feature, since there are probably
many people who feel no need to have
a log when people are making entries
to a file anyway. Keep in mind it
will show errors which is one nice
aspect about it.
- $linkmail
- Turning this option on will make the
address links in your guestbook
become hyperlinked. So instead of
simply having (name@some.host) it
will put (<a
href="mailto:name@some.host">name@some.host</a>)
so that anyone can simply click on
the address to email them.
- $separator
- While looking at many other
guestbooks I noticed that many people
prefer to separate entries with a
Horizontal Rule <hr> instead of
a Paragraph Separator <p>,
which I used in my old scripts. I
have now given you the option to
choose. By changing the 0 in the
script to a 1 you will turn on the
<hr> separator and turn off the
<p> separator. The 0 option
will do the reverse of that; turn on
<p> and turn off <hr>.
- $redirection
- Although Netscape and other browsers
handle the auto-redirection that I
have implemented quite nicely, I have
noticed that it does not work with
lynx (a text based browser). I have
given you the option of using
auto-redirection or not. Lynx can
still add to your guestbook with it,
they will just get an error message
when they do. This may not be true
for all systems though. It seemed
that when we upgraded to httpd 1.4
this problem started occurring. By
choosing 1 you will enable auto
redirection and 0 will return a page
to the user telling them their entry
has been received and click here to
get back to the guestbook.
here are a couple new options in version
2.2, which you will need to configure, or
leave as default.
- $entry_order
- When this script was first written,
entries were always added next to the
top, so you and other users did not
have to always see the same guestbook
entry when they visited your pages.
The rest of the enties scrolled
beneath the newest, from newest to
oldest. I have had requests that I
make an option available so that
people can have a guestbook which
would read from oldest to newest.
This is how you would go about doing
that. Set this option to '0' and the
newest entries will be added below
the rest of the entries. Keep this
option at '1' and the guestbook will
act like previous versions, adding
the newest entry to the top.
- $remote_mail
- Many users of the guestbook have
requested that a form letter be
automatically sent to the remote user
when they fill in the guestbook.
Turning this option on will tell the
script to automatically mail any user
who leaves an email address. You can
specify the contents of the mail
mesage by editing the section of the
script that sends mail to the remote
user. By default it sends a message
that says, "Thank you for adding
to my guestbook." and then shows
them their entry. If you should
choose to turn this variable on you
will need to fill in the 2 variables
that go along with it:
- $recipient
- Your E-Mail address, so that
the mailing program will know
who to mail the entry to.
- $mailprog
- The location of your sendmail
program on your host machine.
There is one new configurable option in
version 2.3 of the guestbook.
- $allow_html
= "";
- This option allows you to turn on or
off the use of HTML tags by users of
your guestbook. Setting this variable
to '1' allows users to imbed html
tags such as <b> or <H1>
or <a
href=""></a> into
your html document. Setting this
variable to '0' will not allow them
to use any html syntax in their
comments or any other field. You can
still link to their email address by
turning $link_mail to '1'.
Also new in version 2.3 is the ability for
users to add their own url and then their
name is referenced to their URL in the
guestbook.html file. This helps to eliminate
the need for allow_html to be turned on, and
lets users point you to a spot that will tell
you more about them. Several users of the
guestbook script have asked for this option.
If you wish to disable the option, simply
delete the following line from your
addguest.html file:
URL: <input type=text name=url size=50><br>
- $line_breaks
- This option allows you to decide
whether or not you want line breaks
in the comment field to be turned
into <br>'s in the html thing
to retain the look of the guestbook
entry. Common setting would be off,
because sometimes people accidentally
put in extra line breaks.
This is the file that you
will link to that will contain the Guestbook Entries.
You will need to have this set at write/read
permission for the users (chmod a+rw). You will
probably need to edit the url for the link to the
addguest.html file and edit the url at the end of
this page to point back to your home page. You will
also want to edit the title and heading spaces. Do
not delete the line <!--begin--> from this
guestbook, or else the script will have no way of
knowing where to begin the editing. The
<!--begin--> line is the only necessary line in
your guestbook.html file, but the link to the
addguest.html file is also a good idea. :)
This is a fill-out form to
add a new entry into the guestbook. You will need to
edit parts of it to correct urls and names of things,
but leave the basic field names in place in the form.
You will also need to change the action of the form
to point to the guestbook.pl file you placed in your
cgi-bin. The action of the form should be the same as
the $cgiurl variable you
configured in your guestbook.pl file.
This is a short log that
lists domains and times that entries were created.
Much easier to browse and it will point out those
failed entries when users did not specify a name or
comments. This file will also need read/write
permission given to it. To avoid long scripting (call
me lazy if you want :-) ) I left the log file so that
newest entries are added at the bottom. This should
be apparent though since the entries all come with a
short date added. You can get around using this by
changing the option $uselog
in the guestbook.pl file.
-
- I changed the guestbook script so that
the subroutines now work. I guess I
really messed up in Version 2.0, since I
didn't test it well, so I tried to be
extra careful this time.
- In the subroutines I added a complete new
form so that people who forget to put
their name in can simply fill it in,
while the script retains the rest of the
information and it will them be added.
This means that they don't have to first
return to the guestbook add form to fill
out the entry all over again.
- I seemed to have a huge parenthesis
problem in version 2.1. I messed up twice
in the mail option and also in the
guestbook printing, when the ')' was put
inside the <a href> mailto tag,
instead of outside like the first one.
The mail option was missing two
parenthesis which caused it not to work
on many machines. These have both been
fixed.
- <>'s were used instead of () in the
guestbook email addresses.
- Fixed Server Side Includes Security whole
in script.
Version 1.1 05/13/95 - chop($shortdate); added to make log file more
readable...
Version 2.0 05/26/95 - Several lines of code added and modified so that
entries now appear most recent entry first.
- Many lines taken out so that the script
automatically returns you to the guestbook after
you have completed the add form.
Version 2.1 05/29/95 - Edited subroutines so that they now work. Added
fill out form to the subroutines to make less jumps
to fill out guestbook.
06/01/95 - Added the option of mailing the owner of the
guestbook when a new entry arrives.
06/05/95 - Added the option to hypertext the email address of
the guest and you can now choose whether to log the
entry or not.
06/07/95 - chop($date); added and the guestbook entry
modified.
Version 2.2 08/23/95 - Tiny Modifications:
- Parenthesis for email address in entry
changed to brackets, so that the email address
can more easily be cut and pasted into most
email programs.
- Other minor changes
08/24/95 - Logging now a subroutine.
- Code tabbed better to make more readable. This was
one of my worst scripts up until now in that
respect.
- Option to have newest entries displayed at the
bottom instead of at the top added.
- E-mail option now fixed so the names come through
with the email messages.
- Modified the subroutines, so when an error message
is submitted, people don't see just a 2 letter
field for the State. I guess I was just ignorant
before, not realizing this would be around the
world, where not everyone uses 2 digits for their
state. :)
Version 2.21 10/08/95 - Fixed a problem with logging entry, which caused
the log to be on one line when viewed with a WWW
browser.
Version 2.3 10/14/95 - Added option of allowing html tags or throwing
them out when an entry was added.
- Fixed a hole in the script, which, when html is
turned on, like it always used to be, people could
add random server side includes to your html
pages. Not cool. Thanks to:
Rick O'Donnell (odonnell@heron.tc.clarkson.edu)
for pointing out the flaw and providing a fix.
- Added an optional URL field in the add an entry
form and modified the script to place the
reference around the submitter's name.
Version 2.3.1 10/29/95 - Took out all references to $server, which were
accidentally left in version 2.3.
- Added an option to let you change line breaks in
comment field to <br>'s in html doc.
- Added several die routines so maybe I won't get
as many mail messages as to "Why doesn't this
work!"
[ Mega
Script Archive ]
|